Advances in Design Methods from Modeling Languages for Embedded Systems and SoC’s by Dominique Borrione
Author:Dominique Borrione
Language: eng
Format: epub
Publisher: Springer Netherlands, Dordrecht
4.5 Compiler
The compiler firstly converts the modified CDFG to a parse tree. Then it calculates the minimum size of the register file by using the templates. This size can be increased by the compiler if the register size does not suffice during code generation. Note that reduction is always possible by tightening area constraints.
During the traversal of the parse tree two lists for registers are updated to monitor status of the registers. The first list keeps track of busy registers. Abusy register means a register which is occupied at that time. The second list keeps track of the operand which makes the register busy. The compiler generates the assembly code for each node in the parse tree if its siblings have already been processed. Therefore the output of each sibling is searched in the second list so as to see whether it appears. If it is the case, then the related MOV instruction in the template is skipped and the busy flag in the first list is set. Otherwise, an empty register is searched in the first list so as to replace the related dummy register with the empty register. Then the status of the selected register is changed from empty to busy and the second list is updated with the output of the sibling. As soon as the related code is generated, the status of the registers using the outputs of the siblings are reset to free. There exists no case where all registers are busy because the size of register file is calculated prior to compilation.
After the assembly code is generated, then machine code is generated by using the instruction machine code explained in Section 4.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(8310)
Test-Driven Development with Java by Alan Mellor(6818)
Data Augmentation with Python by Duc Haba(6731)
Principles of Data Fabric by Sonia Mezzetta(6476)
Learn Blender Simulations the Right Way by Stephen Pearson(6385)
Microservices with Spring Boot 3 and Spring Cloud by Magnus Larsson(6249)
Hadoop in Practice by Alex Holmes(5966)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5816)
RPA Solution Architect's Handbook by Sachin Sahgal(5648)
Big Data Analysis with Python by Ivan Marin(5405)
The Infinite Retina by Robert Scoble Irena Cronin(5339)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(5161)
Pretrain Vision and Large Language Models in Python by Emily Webber(4371)
Infrastructure as Code for Beginners by Russ McKendrick(4140)
Functional Programming in JavaScript by Mantyla Dan(4044)
The Age of Surveillance Capitalism by Shoshana Zuboff(3964)
WordPress Plugin Development Cookbook by Yannick Lefebvre(3855)
Embracing Microservices Design by Ovais Mehboob Ahmed Khan Nabil Siddiqui and Timothy Oleson(3656)
Applied Machine Learning for Healthcare and Life Sciences Using AWS by Ujjwal Ratan(3633)
